var copyBtn = document.querySelector('.copy-btn');
var codeTextarea = document.querySelector('#code');
copyBtn.addEventListener('click', function() {
  // 获取要复制的文本
  var textToCopy = codeTextarea.value;

  // 创建临时textarea元素并将要复制的文本赋值给它
  var tempTextarea = document.createElement('textarea');
  tempTextarea.value = textToCopy;

  // 将临时textarea元素添加到文档中
  document.body.appendChild(tempTextarea);

  // 选中临时textarea中的文本
  tempTextarea.select();

  try {
    // 执行复制操作
    var successful = document.execCommand('copy');

    if (successful) {
      // 复制成功
      var copySuccess = document.querySelector('.copy-success');
      copySuccess.style.display = 'inline';

      // 持续显示1秒后隐藏
      setTimeout(function() {
        copySuccess.style.display = 'none';
      }, 1000);
    } else {
      // 复制失败
      console.error('复制失败');
    }
  } catch (error) {
    // 复制失败
    console.error('复制失败:', error);
  }

  // 删除临时textarea元素
  document.body.removeChild(tempTextarea);
});

var editor = CodeMirror.fromTextArea(document.getElementById('code'), {
  lineNumbers: true,
  mode: 'javascript',
});
//SSH配置


  function showErrorPopup(message) {
    var popup = document.createElement('div');
    popup.textContent = message;
    popup.style.cssText = "position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); padding: 10px 20px; background-color: rgba(255, 0, 0, 0.8); color: #fff; border-radius: 5px; z-index: 9999;";
    document.body.appendChild(popup);
    setTimeout(function() {
      document.body.removeChild(popup);
    }, 3000); // 提示框显示3秒后自动消失
  }
  
  document.querySelector('input[type="submit"]').addEventListener("click", function(event) {
    var deviceNameInput = document.getElementById("device_name");
    var mgmtNameInput = document.getElementById("mgmt_name");
    var vlanInput = document.getElementById("vlan");
    var mgmt_vlanInput = document.getElementById("mgmt_vlan");
    var subnet_maskInput = document.getElementById("subnet_mask");
    var gatewayInput = document.getElementById("gateway");
    var errorDiv = document.getElementById("error_message");
  
    var deviceName = deviceNameInput.value.trim();
    var mgmtAddress = mgmtNameInput.value.trim();
    var vlan = vlanInput.value.trim();
    var mgmt_vlan = mgmt_vlanInput.value.trim();
    var subnet_mask = subnet_maskInput.value.trim();
    var gateway = gatewayInput.value.trim();
  
    if (!/^[a-zA-Z0-9\-_.]+$/.test(deviceName)) {
      event.preventDefault(); // 阻止提交动作
      showErrorPopup("设备名称格式不正确，只能包含英文大小写字母、数字、连字符（-）和下划线（_）和点（.）");
      return;
    }
  
    if (!/^([0-9]{1,3}\.){3}[0-9]{1,3}$|^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$/.test(mgmtAddress)) {
      event.preventDefault(); // 阻止提交动作
      showErrorPopup("管理地址格式不正确，只能是有效的IPv4或IPv6地址");
      return;
    }
  
    var vlans = vlan.split(" ");
    for (var i = 0; i < vlans.length; i++) {
      var vlanValue = vlans[i];
      if (!/^\d+$/.test(vlanValue) || vlanValue < 2 || vlanValue > 2049) {
        event.preventDefault(); // 阻止提交动作
        showErrorPopup("VLAN 格式不正确或超出范围，只能是2到2049之间的数字");
        return;
      }
    }

    var mgmt_vlan = mgmt_vlan.split(" ");
    for (var i = 0; i < mgmt_vlan.length; i++) {
      var mgmt_vlanValue = mgmt_vlan[i];
      if (!/^\d+$/.test(mgmt_vlanValue) || mgmt_vlanValue < 2 || mgmt_vlanValue > 2049) {
        event.preventDefault(); // 阻止提交动作
        showErrorPopup("VLAN 格式不正确或超出范围，只能是2到2049之间的数字");
        return;
      }
    }
  
    if (!/^((128|192|224|240|248|252|254|255)\.0\.0\.0)|(^255\.(0|128|192|224|240|248|252|254)\.0\.0)|(^255\.255\.(0|128|192|224|240|248|252|254)\.0)|(^255\.255\.255\.(0|128|192|224|240|248|252|254|255))$/.test(subnet_mask)) {
      event.preventDefault(); // 阻止提交动作
      showErrorPopup("子网掩码格式不正确，只能是有效的IPv4掩码");
      return;
    }
    
    if (!/^([0-9]{1,3}\.){3}[0-9]{1,3}$|^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$/.test(gateway)) {
      event.preventDefault(); // 阻止提交动作
      showErrorPopup("网关地址格式不正确，只能是有效的IPv4或IPv6地址");
      return;
    }
    
    if (/[\u4E00-\u9FA5]/.test(vlan)) {
      event.preventDefault(); // 阻止提交动作
      showErrorPopup("VLAN中不能包含中文字符");
      return;
    }
  });